package com.xqzgj.system.mapper;

import java.util.List;
import com.xqzgj.system.domain.SysAiConfig;

/**
 * AI对话配置Mapper接口
 */
public interface SysAiConfigMapper {
    /**
     * 查询AI对话配置
     * 
     * @param configId 配置ID
     * @return AI对话配置
     */
    public SysAiConfig selectSysAiConfigById(Long configId);

    /**
     * 查询用户的AI对话配置列表
     * 
     * @param sysAiConfig AI对话配置
     * @return AI对话配置集合
     */
    public List<SysAiConfig> selectSysAiConfigList(SysAiConfig sysAiConfig);

    /**
     * 查询用户的指定类型配置
     * 
     * @param userId     用户ID
     * @param configType 配置类型
     * @return 配置列表
     */
    public List<SysAiConfig> selectUserConfigByType(Long userId, String configType);

    /**
     * 新增AI对话配置
     * 
     * @param sysAiConfig AI对话配置
     * @return 结果
     */
    public int insertSysAiConfig(SysAiConfig sysAiConfig);

    /**
     * 修改AI对话配置
     * 
     * @param sysAiConfig AI对话配置
     * @return 结果
     */
    public int updateSysAiConfig(SysAiConfig sysAiConfig);

    /**
     * 删除AI对话配置
     * 
     * @param configId 配置ID
     * @return 结果
     */
    public int deleteSysAiConfigById(Long configId);

    /**
     * 批量删除AI对话配置
     * 
     * @param configIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysAiConfigByIds(Long[] configIds);

    /**
     * 检查配置键名是否唯一
     *
     * @param configKey 配置键名
     * @param userId    用户ID
     * @return 结果
     */
    public SysAiConfig checkConfigKeyUnique(String configKey, Long userId);
}